home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppy Magazine 1987 #5
/
Floppy_Magazine_87-5_1987_Megasystems_Oy_fi_Side_B.d64
/
part6
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
9KB
|
337 lines
2 v=53248:hl=50:dim l(hl,3),ta(hl),mi(hl),la(hl),aa(hl),sc$(40),n$(40)
3 poke v+21,0
10 poke53280,0:poke53281,0:r1$=" [175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]":r2$="[167]":r3$="[165]":r4$=" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
11 k$=""
12 gosub 1600
20 o$(0)="[152][193][194][195][196][157][157][157][157][197][199][199][200][157][157][157][157][155][201][199][199][202]"
22 o$(1)="[154][155][193][194][195][196][157][157][157][157][152][197][199][199][200][157][157][157][157][151][201][199][199][202]"
24 o$(2)="[152]][157]][157]][157]]"
26 o$(3)="[152]][157]][157]][157]]"
30 sys 49152:poke 250,1:poke 252,0:poke 254,3:l3=24:l4=29:l1=24:l2=29
40 ux(0)=94:ux(1)=94:ux(2)=30:ux(3)=157:uy(0)=205:uy(1)=73:uy(2)=113:uy(3)=113
50 r$="[156]":en=1000:po=0:vn=1.5
60 e$="[151] [157][157][157][157][157][157][157]"
62 pi$="[151] [157][157][157][157][157][157][157]"
70 rb$="[150]"
75 rt$(1)="[159][172][151][175][186]":rt$(4)="[155][162][162][162][162]":rt$(3)="[155][185][185][185]":rt$(2)="[159][188][151][183][208]"
76 rt$(6)="[152][184][184][184][184]":rt$(5)="[152][183][183][183]":rt$(7)="[155][175][164][157][157][152][163]"
78 vl$="................"
90 pokev,100:pokev+1,160:pokev+37,15:pokev+38,6:pokev+39,11:poke v+40,0
92 poke v+28,7:poke 33784,16:poke 33785,16:poke v+27,7:poke v+41,0
94 poke v+2,100:pokev+3,100:pokev+4,100:pokev+5,140:poke 744,0
96 poke 711,56:poke 713,57:poke 715,58:poke 717,59:poke v+42,7
98 poke 53275,peek(53275)or8
107 if peek(744)=1 then 1900
110 h=16
120 forn=0tohl
121 :form=0to3
122 ::read l(n,m)
124 :next
126 next
140 forn=0to6:read mi(n):next
150 forn=0to8:read la(n):next
160 forn=0to15:read ta(n):next
170 forn=0to3:read aa(n):next
198 poke v+21,1
199 gosub1000:gosub2000:printpi$;"0":printe$"1000"
200 if peek(743)=1 then en=en-25:print e$;en:gosub 1700:poke 743,0
205 if peek(742)=1 then poke 742,0:po=po+50:print pi$;po
207 if h=0 then if peek(744)=1 then 1900
210 if peek(251)<>0 then ls=peek(251)-1:gosub 1100:poke 251,0
220 get a$:if a$="[136]" then gosub 1200
250 poke 33784,peek(250)+a*peek(736)+15:a=-(a=0)
251 if va=0 then if rnd(1)>tn1 then va=1:poke v+21,peek(v+21)or2
255 on va gosub 700,720,730,770
283 if vb=0 then if rnd(1)>tn1 then vb=1:poke v+21,peek(v+21)or4
285 on vb gosub 740,750,760,780
300 goto 200
498 :
499 :
600 poke v+21,peek(v+21)and(255-2^sp)
610 poke v+sp*2,int(rnd(1)*131+29):poke v+sp*2+1,int(rnd(1)*131+70)
620 return
700 poke 33785,l1:l1=l1+1:if l1>29 then l1=24:va=2:poke 704,1
719 return
720 poke 33785,peek(253)+a2+16:a2=-(a2=0)
721 if rnd(1)>tn2 then poke704,0:va=3
729 return
730 poke 33785,l2:l2=l2-1:if l2<24 then l2=29:va=0:sp=1:gosub600
739 return
740 poke 33786,l3:l3=l3+l3:if l3>29 then l3=24:vb=2:poke 705,1
750 poke 33786,peek(2)+a3+16:a3=-(a3=0)
753 if rnd(1)> tn2 then poke705,0:vb=3
759 return
760 poke 33786,l4:l4=l4-1:if l4<24 then l4=29:vb=0:sp=2:gosub600
769 return
770 sp=1:gosub 600:poke 709,0:return
780 sp=2:gosub 600:poke 710,0:return
998 :
999 :
1000 if h=0 then 1500
1001 poke 738,0:print" [146]"
1002 print" [146][152][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [146]"
1003 print" [146][152]]]]]]]]]]]]]]]]]]] [146]"
1004 print" [146][151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [146]"
1005 forn=0to12:print" [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199] [146]":next
1006 print" [146]"
1007 print"[155][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
1008 print"[152][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
1009 print"[151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
1010 forn=0to3:if l(h,n)=>0 then printo$(n)
1020 next
1030 forn=0to6:if mi(n)=h then print"[155][203]":mt=n
1032 next
1040 forn=0to8:if la(n)=h then print"[155][204]":lt=n
1042 next
1049 forn=0to15:if ta(n)=h then print"[158][205]":tt=n
1050 next
1051 forn=0to4:if aa(n)=h then print"[":at=n
1052 next
1060 print r$;" "
1070 tn1=.5:tn2=.9
1092 va=0:vb=0:poke 704,0:poke705,0
1097 return
1098 :
1099 :
1100 if l(h,abs(ls)) <0 then return
1105 poke v+21,peek(v+21)and(255-31)
1110 h=l(h,abs(ls)):gosub 1000
1112 poke v,ux(ls):poke v+1,uy(ls)
1115 poke v+21,17:if h<>0 then poke v+8,0
1120 en=en-25+int(rnd(1)*5):print e$;en
1160 return
1198 :
1199 :
1200 ra=int((peek(v)-16)/8):sa=int((peek(v+1)-42)/8):mp=32768+ra+sa*40
1205 t=0: m(0)=mp-41:m(1)=mp-40:m(2)=mp-39:m(3)=mp-1:m(4)=mp+1:m(5)=mp+39
1206 m(6)=mp+40:m(7)=mp+41
1208 forn=0to7:if peek(m(n))=27 then poke m(n),71:aa(at)=-1:t=3
1209 next
1210 forn=0to7:if peek(m(n))=75 then poke m(n),71:mi(mt)=-1:t=1
1211 next
1212 forn=0to7:if peek(m(n))=76 then poke m(n),71:la(lt)=-1:t=2
1213 next
1214 forn=0to7:if peek(m(n))=77 then poke m(n),71:ta(tt)=0:t=4
1215 next
1220 if t=0 then return
1230 if t=3 then po=po+100:printr$" ":printr$"bonus.":printpi$;po:return
1240 if t=2 then en=en+100:printe$;en:return
1250 if t=1 then rt=rt+1:gosub 1880:return
1260 if t=4 then s=int(rnd(1)*4+1):on s gosub 1270,1280,1290,1300
1261 return
1270 printr$" ":printr$"teleport!"
1272 h=int(rnd(1)*51):gosub 1000
1274 return
1280 printr$" ":printr$"weaken!"
1282 en=200:printe$;en
1284 return
1290 printr$" ":printr$"revive!"
1292 en=2000:printe$;en
1294 return
1297 return
1298 :
1299 :
1300 printr$" ":printr$"sleep!"
1302 poke 704,0:poke 705,0:va=4:vb=4
1304 return
1500 :
1505 poke v+21,1
1510 :
1520 print"[158] [146]"
1525 print" [146][151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][158] [146]"
1526 print" [146][152][192][192][192][192][192][151][192][155]finish[151][192][152][192][192][192][192][192][158] [146]"
1527 print" [146][152][192][155][192][192][192][152][192][151][192][192][192][192][192][192][192][192][152][192][155][192][192][192][152][192][158] [146]"
1528 print" [146][152][192][155][192][192][155][192][152][192][151][192][193][194][195][194][195][196][192][152][192][155][192][192][155][192][152][192][158] [146]"
1529 print" [146][152][192][155][192][192][155][192][152][192][151][192][197][199][199][199][199][200][192][152][192][155][192][192][155][192][152][192][158] [146]"
1530 print" [146][152][192][155][192][192][192][152][192][151][192][201][199][199][199][199][202][192][152][192][155][192][192][192][152][192][158] [146]"
1531 print" [146][152][192][192][192][192][192][151][192][201][199][199][199][199][202][192][152][192][192][192][192][192][158] [146]"
1532 print" [146][151][192][192][192][192][192][192][201][199][199][199][199][202][192][192][192][192][192][192][158] [146]"
1540 print"[158] [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][158] [146]"
1542 print"[155][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][155][192]"
1543 print"[155][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][155][192]"
1544 print"[152][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][152][192]"
1545 print"[152][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][152][192]"
1546 print"[151][192][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][192]"
1550 forn=0to1:print" [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199] [146]":next
1552 print" [146]"
1554 forn=0to2:print"[154][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":next
1560 printo$(1):poke 704,0:poke 705,0:va=4:vb=4
1570 poke v+8,90:poke v+9,100:poke v+43,1:poke v+21,peek(v+21)or16
1580 poke v+23,16:poke 33788,28:poke v+28,peek(v+28)or16:poke 738,1
1590 return
1598 :
1599 :
1600 print"[147]";:va$(1)="[151]":va$(2)="[152]":va$(3)="[155]":va$(4)="":va$(5)="[155]":va$(6)="[152]"
1605 va$(7)="[156]":va$(8)="":va$(9)="[144]"
1610 forn=1to7:printva$(n)
1620 print" * shadowrun * "
1625 fort=0to50:next
1630 next
1631 fort=0to1000:next
1632 forn=1to8:printva$(n)
1634 print"programmed by harri holopainen"
1636 fort=0to50:next
1638 next
1640 fort=0to1200:next
1642 print"[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
1644 print"[155] plug your joystick in port no. 1"
1646 print"[152]collect the seven pieces of excalibur"
1648 print"[151] and escape from the castle."
1650 print"[152] [204] - food [205] - spell"
1652 print"[155] [ - treasure [203] - piece"
1654 print"[152] use 'f7' to pick up/use things found"
1656 print"[151] press 'f 1' to start!"
1690 get a$:if a$<>"[133]" then 1690
1695 print"[147]";:return
1698 :
1699 :
1700 if en>0 then return
1702 poke 56334,128:poke 788,49:poke 789,234:poke 56334,129
1705 poke v+21,1:poke v+42,0
1710 forn=29 to 24 step -1
1720 poke 33784,n
1730 fort=0 to 200:next
1740 next:poke v+21,0
1750 fort=0 to 500:next
1751 print"[158]\\\\\\\\\\\\\"
1752 forn=0to2:print"\ \":next
1753 print"\\\\\\\\\\\\\"
1755 forn=1 to 7:printva$(n)
1760 print"game over."
1765 fort=0to60:next
1766 next
1770 for n=1 to 8:printva$(n)
1772 print"your score:"
1774 fort=0to60:next
1776 next
1777 forn=1 to 6:printva$(n)
1778 print"";po
1779 fort=0to60:next
1780 next
1782 print" [150]press f1 to continue "
1785 get a$:ifa$<>"[133]"then1750
1790 open 1,8,2," high scores"
1791 forn=10to1step-1:input#1,n$(n):input#1,sc(n):next
1792 close 1
1793 print"[147][159] t o p s c o r e s [154]"
1794 forn=1to10
1795 print"[158]"n". [156]"left$(n$(n)+vl$,10)"......"sc(n)
1796 next
1798 print" [158]your score was"po
1799 :
1800 if po=<sc(10) then 1850
1805 input"[152] initials please ";pn$
1807 forn=1to10:if sc(n)<po then si=n:goto 1815
1810 next
1815 forn=10 to si step-1
1820 n$(n)=n$(n-1):sc(n)=sc(n-1)
1825 next:n$(si)=pn$:sc(si)=po
1840 open 1,8,2,"@: high scores,s,w"
1842 forn=10to1step-1:print#1,n$(n)+chr$(13):print#1,sc(n)
1846 next:close1
1850 print"[150] press f1 to continue"
1855 get a$:ifa$<>"[133]" then 1855
1860 run
1880 print"";rt$(rt):po=po+300:printpi$;po
1881 if rt<7 then return
1882 poke 711,60:poke 713,61:poke 715,62:poke 717,63 :poke v+42,1
1890 return
1898 :
1899 :
1900 poke 738,0:po=po+5000
1903 poke 56334,128:poke 788,49:poke 789,234:poke 56334,129
1905 forn=28 to 24 step -1
1910 poke 33788,n
1920 fort=0 to 100:poke v+43,0:poke v+43,1:next
1930 next:poke v+21,1
1950 poke v+21,0
1955 print"[150] press f1 to continue"
1957 forn=9to1step-1:printva$(n)
1960 print"congratulations!"
1965 fort=0to20:next t
1970 next n
1972 forn=9to1step-1:printva$(n)
1974 print"your score:"po
1975 fort=0to20:next
1976 next
1980 get a$:if a$<>"[133]" then 1957
1990 goto 1790
1998 :
1999 :
2000 print"]]]][158]energy]]]]"
2002 print"][150]] [150] ]]"
2004 print"][150]] ]]"
2006 print"][150]] ]]"
2008 print"][150]]]][158]score[150]]]]]]"
2010 print"][150]] ]]"
2012 print"][150]] ]]"
2014 print"][150]] ]]"
2016 print"][150]]]][158]magic[150]]]]]]"
2018 print"][150]] ]]"
2020 print"][150]] ]]"
2022 print"][150]] ]]"
2024 print"]]]]]]]]]]]]]]"
2097 :
2098 :
2099 return
10000 data -1,3,-1,-1
10001 data -1,6,-1,-1
10002 data -1,-1,3,-1
10003 data 0,9,4,2
10004 data -1,-1,5,3
10005 data -1,-1,6,4
10006 data 1,-1,-1,5
10007 data -1,13,8,-1
10008 data -1,-1,9,7
10009 data 3,14,10,8
10010 data -1,-1,11,9
10011 data -1,30,12,10
10012 data -1,-1,-1,11
10013 data 7,-1,-1,-1
10014 data 9,-1,-1,15
10015 data -1,16,14,-1
10016 data 15,17,-1,-1
10017 data 16,18,19,-1
10018 data 17,-1,-1,-1
10019 data -1,20,25,17
10020 data 19,21,24,-1
10021 data 20,22,-1,-1
10022 data 21,-1,23,-1
10023 data -1,36,-1,22
10024 data 25,-1,31,20
10025 data -1,24,26,19
10026 data 27,31,-1,25
10027 data 30,26,28,-1
10028 data -1,-1,29,27
10029 data -1,-1,-1,28
10030 data 11,27,-1,-1
10031 data 26,-1,32,24
10032 data -1,-1,33,31
10033 data -1,-1,-1,32
10034 data 37,37,35,36
10035 data -1,-1,36,34
10036 data 23,-1,34,35
10037 data 34,34,-1,38
10038 data -1,-1,37,39
10039 data 40,41,38,-1
10040 data -1,34,-1,-1
10041 data 39,42,-1,-1
10042 data 41,-1,43,-1
10043 data -1,-1,44,42
10044 data -1,47,45,43
10045 data -1,48,46,44
10046 data 50,49,-1,45
10047 data 44,-1,48,-1
10048 data 45,-1,49,47
10049 data 46,-1,-1,48
10050 data -1,46,-1,-1
10498 :
10499 :
10500 data 13,16,29,18,33,40,50
10510 data 4,8,11,27,24,23,42,45,37
10520 data 1,2,4,7,10,12,14,17,25,31,21,35,41,43,46,47
10530 data 30,31,40,44,48
20000 open 2,8,2,"@: high scores,s,w"
20001 forn=1to10:print#2,"....."+chr$(13):print#2,n*50
20002 next:close2